import js from '@eslint/js'
import globals from 'globals'
import vuePlugin from 'eslint-plugin-vue'
import vueParser from 'vue-eslint-parser'
import importPlugin from 'eslint-plugin-import'
import skipFormatting from '@vue/eslint-config-prettier/skip-formatting'
export default [
  js.configs.recommended, // 基础规则
  {
    // Vue 文件专用配置
    files: ['**/*.vue'], // 限定仅对 .vue 文件生效
    plugins: {
      vue: vuePlugin // 必须注册 vue 插件
    },
    languageOptions: {
      parser: vueParser // 使用 Vue 解析器
    },
    rules: {
      'vue/multi-word-component-names': 'off'
    }
  },
  {
    name: 'app/files-to-lint',
    files: ['**/*.{js,mjs,jsx,ts,vue}'],
    languageOptions: {
      globals: { ...globals.browser, ...globals.node, ...globals.es2022 }, // 环境配置
      ecmaVersion: 'latest', // 支持最新的 ECMAScript 版本
      sourceType: 'module', // 使用 ES 模块
      parserOptions: {
        ecmaFeatures: {
          jsx: true // 启用 JSX 支持
        }
      }
    }
  },
  {
    name: 'app/files-to-ignore',
    ignores: ['**/dist/**', '**/node_modules/**'] // 忽略的文件或目录
  },
  {
    plugins: {
      import: importPlugin
    },
    // 自定义规则
    rules: {
      'no-console': 'warn', // 禁止使用 console，默认为警告
      'no-debugger': 'off'
    }
  },
  skipFormatting // 禁用 ESLint 的格式化规则
]
